package saei.bean;

import java.util.Date;
import javax.persistence.*;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.ForeignKey;

@SuppressWarnings("serial")
@Entity
@Table(name="Licencia")
public class Licencia  extends EntidadPersistente
{
    @Column(name="num_serie")
    private String numeroSerie;
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="fec_caducidad")
    private Date fechaCaducidad;
    @Column(name="cant_equipos")
    private int cantidadEquipos;
    @ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
	@Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)
    @ForeignKey(name="fk_licencia_software")
    @JoinColumn(name="id_soft")
    private Software software;
    
    public Licencia () {}
    
    public Licencia (String numeroSerie)
    {
    	this.numeroSerie = numeroSerie;
    }
    
    public Licencia (String numeroSerie, Software software, Date fechaCaducidad, int cantidadEquipos)
    {
    	this.numeroSerie = numeroSerie;
    	this.software = software;
    	this.fechaCaducidad = fechaCaducidad; 
    	this.cantidadEquipos = cantidadEquipos;
    }
    
    
	public String getNumeroSerie() 
	{
		return numeroSerie;
	}
	
	public void setNumeroSerie(String numeroSerie) 
	{
		this.numeroSerie = numeroSerie;
	}
	
	public Date getFechaCaducidad() 
	{
		return fechaCaducidad;
	}
	
	public void setFechaCaducidad(Date fechaCaducidad) 
	{
		this.fechaCaducidad = fechaCaducidad;
	}
	
	public int getCantidadEquipos() 
	{
		return cantidadEquipos;
	}
	
	public void setCantidadEquipos(int cantidadEquipos) 
	{
		this.cantidadEquipos = cantidadEquipos;
	}

	public Software getSoftware() 
	{
		return software;
	}

	public void setSoftware(Software software) 
	{
		this.software = software;
	}
    
}
